<?php

namespace app\common\controller;

use think\Controller;

use app\common\service\Admin as adminService;
use app\common\service\AuthGroup as authGroupService;
use app\common\service\AuthGroupAccess as authGroupAccessService;
use app\common\service\AuthRule as authRuleService;
use app\common\service\Banner as bannerService;
use app\common\service\Campus as campusService;
use app\common\service\City as cityService;
use app\common\service\Collect as collectService;
use app\common\service\Config as configService;
use app\common\service\Customer as customerService;
use app\common\service\Dictionary as dictionaryService;
use app\common\service\Footprint as footprintService;
use app\common\service\Like as likeService;
use app\common\service\Log as logService;
use app\common\service\Message as messageService;
use app\common\service\PointDetail as pointDetailService;
use app\common\service\Scene as sceneService;
use app\common\service\SceneItem as sceneItemService;
use app\common\service\Sign as signService;
use app\common\service\Team as teamService;
use app\common\service\TeamMember as teamMemberService;
class Base extends Controller {

    protected $adminService;
    protected $authGroupService;
    protected $authGroupAccessService;
    protected $authRuleService;
    protected $bannerService;
    protected $campusService;
    protected $cityService;
    protected $collectService;
    protected $configService;
    protected $customerService;
    protected $dictionaryService;
    protected $footprintService;
    protected $likeService;
    protected $logService;
    protected $messageService;
    protected $pointDetailService;
    protected $sceneService;
    protected $sceneItemService;
    protected $signService;
    protected $teamService;
    protected $teamMemberService;

    /**
     * 依赖注入
     * Base constructor.
     * @param adminService $adminService
     * @param authGroupService $authGroupService
     * @param authGroupAccessService $authGroupAccessService
     * @param authRuleService $authRuleService
     * @param bannerService $bannerService
     * @param campusService $campusService
     * @param cityService $cityService
     * @param collectService $collectService
     * @param configService $configService
     * @param customerService $customerService
     * @param dictionaryService $dictionaryService
     * @param footprintService $footprintService
     * @param likeService $likeService
     * @param logService $logService
     * @param messageService $messageService
     * @param pointDetailService $pointDetailService
     * @param sceneService $sceneService
     * @param sceneItemService $sceneItemService
     * @param signService $signService
     * @param teamService $teamService
     * @param teamMemberService $teamMemberService
     */
    public function __construct(
        AdminService $adminService, AuthGroupService $authGroupService, AuthGroupAccessService $authGroupAccessService,
        AuthRuleService $authRuleService, BannerService $bannerService, CampusService $campusService,
        CityService $cityService, CollectService $collectService, ConfigService $configService,
        CustomerService $customerService, DictionaryService $dictionaryService, FootprintService $footprintService,
        LikeService $likeService, LogService $logService, MessageService $messageService,
        PointDetailService $pointDetailService, SceneService $sceneService, SceneItemService $sceneItemService,
        SignService $signService, TeamService $teamService, TeamMemberService $teamMemberService){

        parent::__construct();

        $this->adminService = $adminService;
        $this->authGroupService = $authGroupService;
        $this->authGroupAccessService = $authGroupAccessService;
        $this->authRuleService = $authRuleService;
        $this->bannerService = $bannerService;
        $this->campusService = $campusService;
        $this->cityService = $cityService;
        $this->collectService = $collectService;
        $this->configService = $configService;
        $this->customerService = $customerService;
        $this->dictionaryService = $dictionaryService;
        $this->footprintService = $footprintService;
        $this->likeService = $likeService;
        $this->logService = $logService;
        $this->messageService = $messageService;
        $this->pointDetailService = $pointDetailService;
        $this->sceneService = $sceneService;
        $this->sceneItemService = $sceneItemService;
        $this->signService = $signService;
        $this->teamService = $teamService;
        $this->teamMemberService = $teamMemberService;
    }
}